Основы физического моделирования в Engee
Начальные значения в физических моделях
Целевые начальные значения
Ранее вы построили модель массы (колеса), вращающегося с затуханием, в которой масса имела некоторую начальную угловую скорость. При решении соответствующего дифференциального уравнения вам необходимо задать начальное условие. Но при запуске физической модели решатель Engee самостоятельно строит дифференциальные уравнения. Как в этом случае задаются начальные условия? Решатель вычисляет их на основе целевых начальных значений переменных, которые вы можете задать в окнах настроек блоков, в разделе Initial Targets (целевые начальные значения).
Параметр Value (значение) и его единицы измерения определяют целевое начальное значение, которое блок использует для этой переменной.
Настройка приоритета (параметр Priority) определяет порядок, в котором решатель Engee пытается удовлетворить заданным начальным значениям. В большинстве случаев, когда вы хотите, чтобы моделирование начиналось с этого конкретного значения, следует использовать значение High. Если вы не хотите указывать начальное значение, выберите None. Низкий приоритет (Low) обычно не используется, и в этом курсе он вам не понадобится.
Вернемся к модели колеса, вращающегося с затуханием, которую вы строили ранее. В этой модели демпфер жестко соединен с инерцией, так что они не могут иметь разные начальные углы поворота. Если, например, мы зададим начальное значение угловой скорости равным 10 рад/с для инерции и 0 рад/с для демпфера, то это не будет иметь смысла. Но решатель Engee при запуске модели все-таки будет пытаться удовлетворить обоим требованиям. В приведенном примере будет выбрано среднее значение начальной угловой скорости – 5 рад/с. Симуляция модели будет выполнена без ошибок, но результат окажется не таким, какой вы ожидали. В этом случае нужно задавать начальное значение угловой скорости только для одного из блоков – демпфера или инерции, но не для обоих.
Если ваша модель более сложная, то бывает трудно определить, где возможно возникновение конфликта между начальными значениями. В любом случае решатель Engee в процессе симуляции модели пытается добиться удовлетворения как можно большего числа требований.
Чтобы проверить значения, которые вы используете, откройте окно Физические переменные. Кнопка, с помощью которой открывается это окно, находится в правой верхней части экрана среды моделирования Engee:
Чтобы в окне Физические переменные появились данные, сначала нужно в окне настроек модели, во вкладке Отладка, установить флажок около строки Результаты инициализации физических переменных:
Затем нужно запустить симуляцию модели и после окончания симуляции открыть окно Физические переменные. В качестве примера посмотрим, как выглядит это окно после запуска модели колеса, вращающегося с затуханием, которую вы строили в Разделе 02:
В следующих упражнениях вы зададите различные начальные значения параметров физических блоков и посмотрите, как они влияют на результаты моделирования.
Практическая часть
Важно избегать установки конфликтующих друг с другом начальных значений. В качестве исходной модели для упражнений этого раздела возьмем модель колеса, вращающегося с затуханием, которую вы строили в Разделе 02. Она содержится в файле Начальные значения - Исходная модель.engee.
Начальная угловая скорость задается как для блока Rotational Damper, так и для блока Inertia. Поскольку они жестко соединены, а порт R демпфера фиксирован, эти значения невозможно установить независимо друг от друга.
✏️Задание 1
-
Откройте модель
Начальные значения - Исходная модель.engee. -
Откройте окно настроек блока Rotational Damper и раскройте раздел Initial Targets. Убедитесь, что для параметра Rotational velocity (угловая скорость) значение парамтера Priority (приоритет) задано равным None.
Решение
Частой причиной конфликтов начальных значений является установка значений на двух сторонах таких механизмов, как зубчатая передача или рычаг. Например, если два инерционных элемента соединены зубчатой передачей, то их угловые скорости и крутящие моменты связаны передаточным отношением .
✏️Задание 2
Модифицируйте модель:
- Добавьте в модель блок Gear Box (зубчатая передача идеальная). Он находится в библиотеке Физическое моделирование -> Фундаментальные -> Механика -> Механизмы.
- Добавьте в модель второй блок Inertia (инерция).
- Подключите порт S блока Gear Box (он представляет собой входной вал) к существующему блоку Inertia, а порт O (выходной вал) – к новому блоку Inertia.
- В окне настроек блока Gear Box задайте значение параметра Gear Ratio (передаточное число) равным
2. - В окне настроек нового блока Inertia задайте значение параметра Inertia (момент инерции) равным
0.05кг*м^2. - Запустите модель. Постройте график зависимости угловой скорости первого блока Inertia от времени.
Решение
Модель:
График решения:
Зубчатая передача фиксирует отношение угловых скоростей двух блоков инерции. При передаточном отношении, равном 2, . Блок Inertia, подключенный к порту S блока зубчатой передачи, вращается со скоростью вдвое большей, чем блок Inertia, подключенный к порту O.
Однако из графика видно, что начальная угловая скорость исходного блока инерции составляет менее 10 рад/с, даже несмотря на то, что его целевое начальное значение задано равным 10 рад/с.
Этот результат возникает из-за того, что для физических блоков Engee часто по умолчанию устанавливается высокий приоритет для одного или нескольких начальных целевых значений (параметр Priority принимает значение High). Этот параметр обычно помогает решателю подобрать правильные начальные приближения для вашей системы.
Однако в этом случае кинематическое ограничение зубчатой передачи означает, что вторая инерция не должна иметь независимо заданного начального значения, поэтому вам придется вручную изменить приоритет.
✏️Задание 3
Модифицируйте модель:
- В окне настроек нового блока Inertia, соединенного с выходным валом зубчатой передачи, измените приоритет целевого начального значения скорости вращения: для параметра Rotational velocity задайте значение параметра Priority равным None.
- Запустите модель. Постройте график зависимости угловой скорости первого блока Inertia от времени.
Решение
Окно настроек нового блока Inertia:
График решения:
✏️Задание 4
Измерье угловую скорость нового блока Inertia. Для этого выполните следующие действия:
- Скопируйте из модели и вставьте еще по одному блоку Absolute Rotational Motion Sensor, Zero-Order Hold и Terminator.
- Соедините эти блоки последовательно. Выход нового блока Inertia соедините с портом R блока Absolute Rotational Motion Sensor.
- Залогируйте выходной сигнал нового блока Zero-Order Hold.
- Запустите модель. На одном полотне постройте графики зависимости угловой скорости двух блоков инерции от времени.
Решение
Модель:
График решения:
✏️Задание 5
Измените передаточное число зубчатой передачи:
- В окне настроек блока Gear Box задайте значение параметра Gear Ratio (передаточное число) равным
5. - Запустите модель. На одном полотне постройте графики зависимости угловой скорости двух блоков инерции от времени. Убедитесь в том, что отношение угловых скоростей по-прежнему равно передаточному числу зубчатой передачи.
Решение